

#ifndef INCLUDE_SOCKET
#define INCLUDE_SOCKET

#include "./../description_module/description_module.h"

#include <cstdint>

#include <memory>
#include <unistd.h>


class SocketDescription : public Description
{
public:
    enum Type
    {
        TCPSOCKET,
        UDPSOCKET
    };
public:
    explicit SocketDescription(int description);
    explicit SocketDescription(Type mode = TCPSOCKET);
    virtual ~SocketDescription();
    int  DescriptionData()   override;
    int  CreateDescription() override;
    void CloseDescription()  override;

private:
    int m_socket_description;
    int m_socket_type{};
};

#endif
